Complex integrated circuits such as ASICs (Application-Specific Integrated Circuit), SOCs (System-on-Chip) and other designs include various components for performing different functions. These functions, taken together, enable a complex integrated circuit to perform one or more high-level tasks. For example, one or more processor components typically manage overall system operation while lower-level tasks are off-loaded to peripheral components such as I/O (input/output) controllers, graphics accelerators, network controllers, memory controllers, etc. The components within an integrated circuit are interconnected via one or more internal busses that enable data movement between the components and memory. A DMA (direct memory access) controller is also typically included for managing the movement of data. The DMA controller reduces the amount of processor intervention needed to manage low-level data operations such as reads, writes, register transfers, etc.
The components included in an integrated circuit store data pertinent to the overall operation of the integrated circuit. Data may be stored in registers, caches, embedded memory or other volatile storage devices. The entire integrated circuit or certain components of the integrated circuit may be powered down from time-to-time to reduce power consumption by lowering the power operating voltage supplied to the affected components. When a component is powered down, data stored by the component can be lost or corrupted unless properly stored. Data can be saved in redundant retention cells such as flip-flops that remain powered during low power operation. During normal operation, combinatorial circuitry included in the component is connected to a regular power supply that is active only during normal operation. The retention cells are coupled to a second supply that remains continually powered. During low power operation, the combinatorial circuitry is powered off and only the retention cells remain powered. The retention cells can be activated and deactivated relatively quickly, but still consume power when active. Moreover, additional silicon area is needed for the retention cells which are redundant and the cells must be carefully placed and verified to ensure proper integrated circuit operation.
Data can also be saved by transferring the data from the component to be powered down to an external memory. However, additional power is consumed moving the data. Processor involvement is also needed to manage the data backup and restore process. This in turn diverts processor resources from other tasks, prolongs when the processor can be safely powered down and hastens when the processor must be powered back up to manage the data restore process when exiting a low power state. Otherwise, a loss of function, battery operating time or both will occur.